`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2024/07/31 17:00:17
// Design Name: 
// Module Name: tb
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module tb(

    );

    reg clk,reset_n;
    wire [31:0] addr_ir,data;

    top top(.clk(clk),.reset_n(reset_n),.addr_ir(addr_ir),.data_wb(data));

    initial begin
        // $readmemb("D:/vivado/risc_cpu_ass/risc_cpu_ass.srcs/sim_1/new/inst01.txt",top.inst_fetch.mem_inst.mem_inst);
        // $readmemb("D:/vivado/risc_cpu_ass/risc_cpu_ass.srcs/sim_1/new/inst02.txt",top.inst_decode.registers.registers);
        // $readmemb("D:/vivado/risc_cpu_ass/risc_cpu_ass.srcs/sim_1/new/data.txt",top.mem.mem_data.mem_data);
    end

    initial begin
        #0 clk = 0;
        forever begin
            #5 clk = ~clk;
        end
    end

    initial begin
        #0 reset_n = 1;
        #6 reset_n = 0;
        #8 reset_n = 1;
    end

endmodule
